package com.atguigu.gmall.activity.service.api;

import com.atguigu.gmall.common.result.Result;
import com.atguigu.gmall.model.activity.SeckillGoods;
import com.atguigu.gmall.model.activity.UserRecode;

import java.util.List;

public interface SeckillGoodsService {

    /**
     * 从Redis中查询全部秒杀商品
     * @return
     */
    List<SeckillGoods> getSeckillGoodsFromRedis();

    /**
     * 根据 skuId 查询一个具体的秒杀商品
     * @param skuId
     * @return
     */
    SeckillGoods getSeckillGoodsBySkuId(Long skuId);

    /**
     * 通过消息队列接收到用户的购买信息，然后在满足条件的情况下生成临时订单：预下单
     * @param userRecode
     */
    void addUserRecodeToQueue(UserRecode userRecode);

    /**
     * 根据 skuId 与 userId 查看订单信息
     * @param skuId
     * @param userId
     * @return
     */
    Result checkOrder(Long skuId, String userId);
}
